CT Scanner Calibration

ABSTRACT

A system and method can determine one or more CT scanner calibration parameters from a plurality of calibration object projections in a plurality of radiographs.

BACKGROUND

A computed tomography scan (“CT scan”) typically involves placing aphysical object on a rotating platform inside a Computed Tomographyscanner (CT scanner) between an x-ray source and x-ray detector androtating the object around an axis of rotation to generate radiographsfrom the x-rays detected by the detector. Conventionally, the CT scannercan tomographically reconstruct the radiographs into a 3D representationof the object scanned (“CT reconstruction”). One example of CTreconstruction can be found in, for example, in the publicationPrinciples of Computerized Tomographic Imaging (A. C. Kak and MalcolmSlaney, Principles of Computerized Tomographic Imaging, IEEE Press,1988), the entirety of which is incorporated by reference herein. Othertypes of CT reconstruction can also be performed.

CT scanners are typically configured with calibration parameters whichare provided to reconstruction algorithms to generate the reconstructedimage. However, over time, CT scanners can be subject to factors thatcan alter physical component alignment and relationships between them.These factors can render the initial parameters ineffective toreconstruct an accurate or clear image. Accordingly, CT scanners canneed calibration. Although attempts at determining calibrationparameters have been made, they can be imprecise and inaccurate andinflexible in terms of placement of calibration artifacts.

SUMMARY

Disclosed is a method of determining CT calibration settings, the methodincluding receiving a plurality of radiographs from a CT scanner, eachof the plurality of radiographs comprising a plurality of calibrationobject projections; and determining one or more CT scanner calibrationparameters from a plurality of calibration object projections in theplurality of radiographs.

Also disclosed is a system for determining CT calibration settings,including: a processor, a computer-readable storage medium comprisinginstructions executable by the processor to perform steps including:receiving a plurality of radiographs from a CT scanner, each of theplurality of radiographs comprising a plurality of calibration objectprojections; and determining one or more CT scanner calibrationparameters from a plurality of calibration object projections in theplurality of radiographs.

Also disclosed is a non-transitory computer readable medium storingexecutable computer program instructions to determine CT calibrationsettings, the computer program instructions comprising instructions for:receiving a plurality of radiographs from a CT scanner, each of theplurality of radiographs including a plurality of calibration objectsarranged with at least one artifact object; and determining one or moreCT scanner calibration parameters from a plurality of calibration objectprojections in the plurality of radiographs.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a schematic diagram of a computed tomography (CT) scanningsystem.

FIG. 2 shows a 2-dimensional (2D) radiographic image of a dentalimpression tray containing a dental impression.

FIG. 3 shows a cross-section of a 3-dimensional (3D) volumetric image.

FIG. 4(a) shows a 3D schematic diagram illustrating a CT scanningsystem.

FIG. 4(b) shows a schematic diagram illustrating a side view of the CTscanning system.

FIG. 4(c) shows an illustration of a plane view of a detector.

FIG. 5 shows a 3D schematic diagram illustrating calibration objectprojections and a calibration object holder projection.

FIGS. 6(a), 6(b) and 6(c) are a 2D radiograph images that includes acalibration object projections and a calibration object holderprojection.

FIG. 7 shows a pre-processed 2D radio graph image that includescalibration objects and a calibration object holder.

FIG. 8 shows a histogram in log scale of pixel intensity.

FIG. 9 shows a 2D radiograph of a calibration object projection.

FIG. 10(a) shows a view of a plane of rotation looking down the axis ofrotation.

FIG. 10(b) is an illustration of the detector plane.

FIG. 11 shows an illustration of a 2D radiograph image showingcalibration object projections.

FIG. 12 shows a schematic of a close and far points from a detector on arotational plane.

FIG. 13 shows a flowchart of a method in some embodiments.

FIG. 14 shows a schematic diagram of a system in some embodiments.

DETAILED DESCRIPTION

For purposes of this description, certain aspects, advantages, and novelfeatures of the embodiments of this disclosure are described herein. Thedisclosed methods, apparatus, and systems should not be construed asbeing limiting in any way. Instead, the present disclosure is directedtoward all novel and nonobvious features and aspects of the variousdisclosed embodiments, alone and in various combinations andsub-combinations with one another. The methods, apparatus, and systemsare not limited to any specific aspect or feature or combinationthereof, nor do the disclosed embodiments require that any one or morespecific advantages be present or problems be solved.

Although the operations of some of the disclosed embodiments aredescribed in a particular, sequential order for convenient presentation,it should be understood that this manner of description encompassesrearrangement, unless a particular ordering is required by specificlanguage set forth below. For example, operations described sequentiallymay in some cases be rearranged or performed concurrently. Moreover, forthe sake of simplicity, the attached figures may not show the variousways in which the disclosed methods can be used in conjunction withother methods. Additionally, the description sometimes uses terms like“provide” or “achieve” to describe the disclosed methods. The actualoperations that correspond to these terms may vary depending on theparticular implementation and are readily discernible by one of ordinaryskill in the art.

As used in this application and in the claims, the singular forms “a,”“an,” and “the” include the plural forms unless the context clearlydictates otherwise. Additionally, the term “includes” means “comprises.”Further, the terms “coupled” and “associated” generally meanelectrically, electromagnetically, and/or physically (e.g., mechanicallyor chemically) coupled or linked and does not exclude the presence ofintermediate elements between the coupled or associated items absentspecific contrary language.

In some examples, values, procedures, or apparatus may be referred to as“lowest,” “best,” “minimum,” or the like. It will be appreciated thatsuch descriptions are intended to indicate that a selection among manyalternatives can be made, and such selections need not be better,smaller, or otherwise preferable to other selections.

In the following description, certain terms may be used such as “up,”“down,” “upper,” “lower,” “horizontal,” “vertical,” “left,” “right,” andthe like. These terms are used, where applicable, to provide someclarity of description when dealing with relative relationships. But,these terms are not intended to imply absolute relationships, positions,and/or orientations. For example, with respect to an object, an “upper”surface can become a “lower” surface simply by turning the object over.Nevertheless, it is still the same object.

A computed tomography (CT) scanner uses x-rays to make a detailed imageof an object. A plurality of such images are then combined to form a 3Dmodel of the object. A schematic diagram of an example of a CT scanningsystem 140 is shown in FIG. 1. The CT scanning system 140 includes asource of x-ray radiation 142 that emits an x-ray beam 144. An object146 being scanned is placed between the source 142 and an x-ray detector148. In some embodiments, the object can be any object that can, forexample, fit in a CT scanning system and be penetrated by x-rays. Thex-ray detector 148, in turn, is connected to a processor 150 that isconfigured to receive the information from the detector 148 and toconvert the information into a digital image file. Those skilled in theart will recognize that the processor 150 may comprise one or morecomputers that may be directly connected to the detector, wirelesslyconnected, connected via a network, or otherwise in direct or indirectcommunication with the detector 148.

An example of a suitable scanning system 140 includes a Nikon Model XTH255 CT Scanner (Metrology) which is commercially available from NikonCorporation. The example scanning system includes a 225 kV microfocusx-ray source with a 3 μm focal spot size to provide high performanceimage acquisition and volume processing. The processor 150 may include astorage medium that is configured with instructions to manage the datacollected by the scanning system. A particular scanning system isdescribed for illustrative purposes; any type/brand of CT scanningsystem can be utilized.

One example of CT scanning is described in U.S. Patent Application No.US20180132982A1 to Nikolskiy et al., which is hereby incorporated in itsentirety by reference. As noted above, during operation of the scanningsystem 140, the object 146 is located between the x-ray source 142 andthe x-ray detector 148. A series of images of the object 146 arecollected by the processor 150 as the object 146 is rotated in placebetween the source 142 and the detector 146. An example of a singleradiograph 160 is shown in FIG. 2. The radiograph 160 and allradiographs described herein are understood to be digital. In oneembodiment, a series of 720 images can be collected as the object 146 isrotated in place between the source 142 and the detector 148. In otherembodiments, more images or fewer images may be collected as will beunderstood by those skilled in the art. In some embodiments, radiographscan be referred to as projection images.

The plurality of radiographs 160 of the object 146 are generated by andstored within a storage medium contained within the processor 150 of thescanning system 140, where they may be used by software contained withinthe processor to perform additional operations. For example, in anembodiment, the plurality of radiographs 160 can undergo tomographicreconstruction in order to generate a 3D virtual image 170 (see FIG. 3)from the plurality of 2D radiographs 160 generated by the scanningsystem 140. In the embodiment shown in FIG. 3, the 3D virtual image 170is in the form of a volumetric image or volumetric density file (shownin cross-section in FIG. 3) that is generated from the plurality ofradiographs 160 by way of a CT reconstruction algorithm associated withthe scanning system 140. One type of CT reconstruction algorithm can bethe filtered backprojection algorithm as described in the Principles ofComputerized Tomographic Imaging publication. Other types of CTreconstruction algorithms known in the art can also be used.

FIG. 4(a) is an illustration of portions of a CT scanning system asdiscussed previously. Certain features of the CT scanning system are notshown for clarity. Other conventional CT scanning systems known in theart can also be utilized. Conventionally, the physical object 146 to bescanned is placed inside the CT scanner 200 on top of a rotationalplatform 202 between an x-ray source 142 and x-ray detector 148. Thephysical object 146 is exposed to x-rays generated by the x-ray source142 that travel from the x-ray source 142 through the physical object146 and to the x-ray detector 148. In some embodiments, the x-raysgenerated by the x-ray source 142 can generate a cone-beam shape ofx-rays. The x-ray detector 148 conventionally includes a detector pixelarray 206 (row of detector pixels and column of detector pixels) whichdetects any incident x-rays to generate a radiograph 208, for example.In some embodiments, the x-ray detector 148 can include an arrayresolution of 1,000×1,000 pixels, for example. In some embodiments, thenumber of pixels can be at least 1 million pixels, for example. Othernumbers of pixels can also be present. Other array resolutions are alsopossible. Conventionally, as the physical object 146 is rotated aroundan axis of rotation 204, the x-ray detector 148 detects x-rays incidenton each pixel such as detector pixel 210 (and any other detector pixels)at each rotational position to generate multiple radiographs. The x-raydetector 148 can detect a photon count at each pixel for each radiographgenerated at each rotational position. In some embodiments, the possiblephoton count can be any value. In some embodiments, the possible photoncount range can be anywhere from 0 to 65535 photons per pixel, forexample. Other photon count ranges per pixel are also possible. In someembodiments, the physical object 146 can be rotated 360 degrees once,and the direction of rotation 212 can be either clockwise orcounterclockwise. Conventional/standard CT scanning systems allowsetting the total number of radiographs desired prior to scanning.Conventionally, the x-ray detector 148 detects and stores a radiograph208 every rotational degree 214 based on the total number of radiographsdesired. For example, the rotational degree 214 can conventionally bedetermined as follows by the standard CT scanner 200: 360 degreesdivided by the total number of radiographs desired, for example. In someembodiments, the total number of radiographs can be at least 600radiographs, for example. However, any number of radiographs can begenerated. The x-ray detector 148 conventionally detects and stores theradiograph 208 as well as the photon count for every detector pixel suchas detector pixel 210. An example of conventional photon counting andx-ray detectors can be found, for example, in Photon Counting and EnergyDiscriminating X-Ray Detectors—Benefits and Applications (David WALTER,Uwe ZSCHERPEL, Uwe EWERT, BAM Bundesanstalt fur Materialforschungund-prüfung, Berlin, Germany, 19^(th) World Conference onNon-Destructive Testing, 2016), the entirety of which is incorporated byreference herein. A single CT scan can therefore generate multipleradiographs in some embodiments in a single CT scan.

Some embodiments include a method of determining CT calibrationsettings. CT calibration settings can include, for example, an axis ofrotation distance d 402, which can be the distance from the x-ray source142 to the axis of rotation 204 as illustrated in FIG. 4(b). Another CTcalibration setting can include, for example, a detector distance D 404,which can be, for example, the distance from the x-ray source 142 to thex-ray detector 148, as also illustrated in FIG. 4(b). CT calibrationsettings can also include, for example, a projected rotation axis 216,inclination angle 222, projected rotation axis horizontal shift v₀ 406,and a vertical shift v₀₄₀₈ as illustrated in FIG. 4(c). The verticalshift v₀₄₀₈ can be based, for example, on a line 410 perpendicular tothe projected rotation axis passing through a closest point 412 to x-raysource 142 on the projected rotation axis 216.

In some embodiments, the physical object 146 can be one or morecalibration objects arranged in a calibration object holder, forexample. In some embodiments, the calibration object holder can be anyrigid fixture that can hold calibration objects vertically (i.e. alongthe rotation axis) in a fixed position, spaced apart from one another,and such that the calibration objects encounter x-rays generated fromthe x-ray source 142 as the calibration object holder is rotated alongwith the rotational platform 202 on top of which it is placed.

FIG. 5 illustrates one example of several calibration objects includingfirst calibration object 502 arranged in a calibration object holder504. Although seven calibration objects are illustrated in the figure,this is only an example; more or fewer calibration objects can be used.The calibration objects can be made of any type of radio-opaque materialin some embodiments. For example, the calibration objects can be made ofsteel. Any other type of radio-opaque material can be used. Thecalibration objects can be any size. In some embodiments, smallercalibration object sizes can be preferable. In some embodiments, thecalibration objects can have a radius of 2 mm in the case of sphericalcalibration objects, for example. In some embodiments, the calibrationobjects can be spherical in shape, for example. However, other shapescan also be used for the calibration objects. In some embodiments, thecalibration objects can be spaced apart by any calibration objectspacing distance 504, for example. The calibration object spacingdistance 504 between the calibration objects can be the same distance insome embodiments, for example. The calibration object spacing distancebetween the calibration objects can vary in distance in someembodiments, for example.

In some embodiments, the calibration objects can be arranged in acalibration object holder 506, for example. The calibration objectholder 506 can be, for example, cylindrical in shape in someembodiments, for example, with a hollow center 508. In some embodiments,the walls 510 of the calibration object holder 506 are preferably thinto improve its transparency and improve determination of a center ofeach calibration object, for example, but thick enough to house thecalibration objects, for example. In some embodiments, the calibrationobject holder 506 can be dimensioned such that the calibration objectsare as far away from the axis of rotation, for example by making thecalibration object holder 506 wide. In some embodiments, the calibrationobject holder 506 can be, for example, 50 mm outer radius and 200 mm inheight. However, the calibration object holder 506 can be any othershape and can be any other dimensions. The calibration object holder 506can be made of a radio-translucent material in some embodiments. Forexample, the calibration object holder 506 can be made of glass, orother suitable radio-translucent material. For example, the calibrationobject holder 506 can be made of polycarbonate, or other suitableradio-translucent material, and the calibration objects can be pressedinto the polycarbonate. In some embodiments, the calibration objectholder 506 can be made of any material more radio-translucent than thecalibration objects, for example. The calibration objects can bearranged in any pattern in the calibration object holder 506. Forexample, in some embodiments, the calibration objects can be arranged ina vertical line as illustrated in FIG. 5. In some embodiments, thecalibration objects are arranged in the calibration object holder 506 tofall within the cone of x-rays generated by the x-ray source. In someembodiments, the vertical line can extend along a rotation axis 507, forexample. In some embodiments, to simplify calibration object trackingthrough radiographs, the calibration objects are arranged to avoidcoming close to one to another. This can be achieved by their verticalarrangement with some minimal spacing in the calibration object holder506. In some embodiments, at least two calibration objects can be used.Any suitable number of calibration objects can be used, with someembodiments including 5 to 7, for example. In some embodiments, thecalibration object holder 506 can be include any suitable shape such asa cylinder, for example, which can be drilled or otherwise punctured toproduce one or more pits. In some embodiments, a calibration object canbe arranged in a pit, for example. In some embodiments, the calibrationobjects can be affixed to an outer surface of the calibration objectholder 506. In some embodiments, the calibration objects can beremovable, or can be affixed with an adhesive such as glue, for example.

Some embodiments can include, for example, receiving a plurality ofradiographs from the

CT scanner, each of the plurality of radiographs including one or morecalibration object projections. FIGS. 6(a) through 6(c) illustrateradiographs generated from the CT scanner after scanning the one or morecalibration objects. FIG. 6(a) illustrates an example of a firstradiograph 602 taken at a first rotational position during the CTscanning. The first radiograph 602 includes calibration objectprojections such as a first calibration object projection 604 of acalibration object 502 from FIG. 5 for example, along with thecalibration object projections of the other calibration objects. Alsoappearing in the first radiograph 602 is the calibration object holderprojection 606, for example, of the calibration object holder. FIG. 6(b)illustrates an example of a second radiograph 620 taken at a secondrotational position during the CT scanning. The second radiograph 620can include calibration object projections such as second calibrationobject projection 622 of calibration object 502 from FIG. 5, for examplealong with calibration object projections of the other calibrationobjects. Also appearing in the second radiograph 620 is the calibrationobject holder projection 626, for example, of the calibration objectholder. FIG. 6(c) illustrates an example of a third radiograph 630 takenat a third rotational position during the CT scanning. The thirdradiograph 630 can include calibration object projections such as athird calibration object projection 632 of calibration object 502 fromFIG. 5 along with calibration object projections of the othercalibration objects. Also appearing in the third radiograph 630 is thecalibration object holder projection 634, for example, of thecalibration object holder. Three radiographs are shown only as anexample. The computer-implemented method can receive at least four ormore radiographs in some embodiments, for example. In some embodiments,the computer-implemented method can receive 600 or more radiographs ofthe calibration objects, for example. In some embodiments, the anglescan span [0,360] degrees. In some embodiments, the computer-implementedmethod can rotate the object multiple times to generate additionalradiographs.

In some embodiments, the computer-implemented can include determiningone or more

CT scanner calibration parameters from a plurality of calibration objectprojections in the plurality of radiographs. In some embodiments, thiscan include, for example, one or more of optionally pre-processing oneor more of the radiographs, determining a location of each of thecalibration object projections in a first projection, tracking acalibration object projection trajectory, determining a projectivetransformation of each calibration object projection, determining anaxis of rotation projection, determining trajectory parameters from theprojective transformation of each calibration object projection,determining the vertical shift, determining the detector distance, anddetermining the source distance.

In some embodiments, the computer-implemented method can optionallypre-process the radiographs. Pre-processing the radiographs can include,for example, converting a raw photo count c(x, y) in each pixel (x, y)of each projection into total attenuation coefficient a(x, y).

In some embodiments, the computer-implemented method can receive alook-up table or other data structure containing empirically derivedconversions from photon counts to attenuation coefficients. This can bedone, for example, with polychromatic x-ray sources. Thecomputer-implemented method can determine the attenuation coefficientfor each corresponding radiograph pixel by matching the photon count tothe attenuation coefficient in the look-up table. Thecomputer-implemented method can then store or associate the attenuationcoefficient with the corresponding radiograph pixel. Conventional CTscanners can provide the empirical conversion values which can bedependent on the particular CT scanner's x-ray source 142 and the typeof material used. In some embodiments, the look-up table can be storedin a configuration file or a variable received by thecomputer-implemented method, for example.

Alternatively, in some embodiments, the computer-implemented method candetermine an attenuation coefficient a(x,y) theoretically for eachcorresponding radiograph pixel by converting the photon count c(x,y) ineach pixel (x,y) of each radiograph as follows:

a(x,y)=ln(I ₀ /c(x,y)) or a(x,y)=ln(I ₀)−ln(c(x,y))

where I₀ is a baseline photon count in the pixels of x-rays directlyfrom the x-ray source 142, without passing through the physical object146 which can in some embodiments, be the maximum possible photon count.This can be used with a monochromatic x-ray source, for example.

In some embodiments, the computer-implemented method can optionallydetermine attenuation coefficients empirically by receiving scannercoefficient values from the CT scanner and applying the values to aconversion function, for example. For example, the computer-implementedmethod can receive scanner coefficient values a,b,c,d,e, andf and applythe received scanner coefficient values to the conversion functionY=a(b+cX+dX²+eX³+fX⁴) to obtain each corresponding radiograph pixel'sattenuation coefficient, where X is the attenuation coefficient of thepixel determined theoretically as described previously, Y is theattenuation coefficient to be obtained empirically, and a through farethe received scanner coefficient values. Other conversion functions canbe used, and more or fewer coefficient values can be received. In oneembodiment, the computer-implemented method can receive scannercoefficients such as a=1, b=0, c=0.75, d=0.25, e=0, f=0 for a Nikon CTscanner, for example. In another embodiment, the computer-implementedmethod can receive, scanner coefficients such as a=1, b=0, c=0.5, d=0.5,e=0, f=0 for a Nikon CT scanner, for example. The computer-implementedmethod can receive other scanner coefficient values and other CT scannertypes and/or x-ray sources can be used. The scanner coefficients can beloaded by the computer-implemented method from a configuration file, forexample in some embodiments. In some embodiments, thecomputer-implemented method can receive the scanner coefficients,calculate all attenuation coefficient values for photon counts (forexample from 0 to the maximum possible photon count value) using thescanner coefficients, and store the photon count to attenuationcoefficient conversions in a look up table or other data structure. Insome embodiments, the computer-implemented method can store the look uptable or other data structure in a configuration file, for example. Insome embodiments, the computer-implemented method can load theconfiguration file as discussed previously.

FIG. 7 illustrates one example of single radiograph 702 whose raw photoncount is converted to an attenuation coefficient. As illustrated in thefigure, a calibration object projection 704 is converted to anattenuated photon count. In some embodiments, the computer-implementedmethod can pre-process one or more of the projected images.

In some embodiments, the computer-implemented method can determine afirst projection position of each of the calibration object projectionsin a first projection. In some embodiments, the computer-implementedmethod can determine the location of each of the calibration objectprojections in the first projection by determining a histogram of pixelvalues in the first projection, determining the values of pixels coveredby one of the calibration object projections from the histogram, findingany pixel in the projection with such value, locating the center of thefirst calibration object projection, determining the radius of the firstcalibration object projection, marking all pixels on a circle with foundcenter and radius as processed, finding another pixel with a calibrationobject projection value among not-processed pixels, determining itscenter, marking its pixels as processed, and repeating the previous stepuntil there are no more unprocessed pixels with calibration objectprojection values.

In some embodiments, the computer-implemented method can determine thefirst projection position of each of the calibration object projectionsin a first projection by determining a histogram of pixel values in thefirst projection. FIG. 8 illustrates a histogram 800 in log scale withan X-axis 802 of pixel intensity and a Y-axis 804 of the number ofpixels at a particular intensity. Smaller X-axis 802 values cancorrespond to darker pixels and larger X-axis 802 values can correspondto brighter pixels. After pre-processing, the calibration objectprojection pixels are typically a brighter intensity than thecalibration object holder projection pixels. Accordingly, thecomputer-implemented method can determine brighter pixels as beingcalibration object projection pixels. In some embodiments, thecomputer-implemented method can subdivide the range of all values on thepre-processed projection on a number of bins. In some embodiments, thenumber of bins can be 64, for example. Each bin along the X-axis 802 cancorrespond to an intensity level range. In some embodiments, thecomputer-implemented method can determine the minimum intensity 806 ofthe calibration object projection pixels as being in the center portionof the histogram. For example, the computer implemented method candetermine the minimum intensity as being within the range of (firstbin+16, last bin−16). The computer-implemented method can determinecalibration object projection pixels 808 as those with pixel intensitiesgreater than or equal to the minimum intensity 806 as illustrated in thefigure, for example.

In some embodiments, the computer-implemented method can find the valuesof pixels belonging to one of the calibration object projections fromthe histogram. For example, the computer-implemented method can select afirst pixel in the first projection that has a pixel intensity greaterthan or equal to the minimum intensity.

In some embodiments, the computer-implemented method can determine afirst calibration object projection center based on the first pixel inthe first projection. For example, the computer-implemented method candesignate the first pixel as a rough first calibration object projectioncenter. The computer-implemented method can determine a refined firstcalibration object projection center by selecting surrounding pixelswithin a radius of the rough first calibration object projection centerand determining a center of mass of the surrounding pixels. The radiusvalue can be set by a user in a configuration file in some embodiments,for example. The radius value can be, for example, 30 pixels. Otherradius values can be used. In some embodiments, the computer-implementedmethod can determine the center of mass using techniques known in theart. For example, the computer-implemented method can determine a centerof mass in some embodiments as follows:

c=Σ_(i)w_(i)r_(i)/Σ_(i)w_(i)

where r_(i) is (x,y) coordinates of a pixel within search radius, andw_(i) is the weight of the pixel. In some embodiments, thecomputer-implemented method can use the value of the pixel afterpreprocessing as the weight initially, for example. In some embodiments,the computer-implemented method can use the square of the pixel value,for example.

Each pixel weight can be taken as the value of the pixel afterpreprocessing (or as the square of the value). This can advantageouslyallow pixels of the ball to receive much higher weight than the pixelsof the cylinder or air. This can also advantageously provide sub-pixelprecision, for example. The computer-implemented method can replace therough first calibration object projection center with the refined firstcalibration object projection center and perform the center of massdetermination to determine the next refined first calibration objectprojection center. The process can be repeated several times, with eachiteration determining a center of mass of surrounding pixels within theradius of the current first calibration object center to determine amore refined first calibration object center and replacing the currentfirst calibration object center with a more refined first calibrationobject center. In some embodiments, the computer-implemented method canrepeat the process 5 times, for example. Once the process is complete,the computer-implemented method has determined the first calibrationobject projection center in the first projection.

In some embodiments, the computer-implemented method can determine afirst calibration object projection radius in the first projection basedon its center. As illustrated in FIG. 9, the computer-implemented methodcan start at the first calibration object projection center 902 and canevaluate adjacent pixel intensities along any direction 904 from thefirst calibration object projection center 902. If an adjacent pixelintensity is greater than or equal to the minimum intensity, then thecomputer-implemented method determines the adjacent pixel along thedirection 904 to be part of the first calibration object projection. Thecomputer-implemented method then evaluates the next adjacent pixelintensity. If, on the other hand, an adjacent pixel intensity is lessthan the minimum intensity, then the computer-implemented methoddetermines the adjacent pixel along the direction 904 to be not be partof the first calibration object projection and stops evaluating any moreadjacent pixels along the direction 904. The computer-implemented methodcan set the first calibration object projection radius as the number ofadjacent pixels along the direction 904 from the first calibrationobject projection center. The computer-implemented method can designateall pixels enclosed by a circle having the first calibration objectprojection center 902 and with a first calibration object projectionradius as processed in some embodiments.

In some embodiments, the computer-implemented method can determine othercalibration object projections in the first projection in a similarmanner. For example, in some embodiments, the computer-implementedmethod can determine a second pixel in the first projection that has apixel intensity greater than or equal to the minimum intensity and thatis among not-processed pixels, determine its center, radius, and circleand mark its pixels as processed as described previously. Thecomputer-implemented method can thus determine the position of eachcalibration object projection in the first projection in someembodiments for example.

In some embodiments, the computer-implemented method can track eachcalibration object projection from the plurality of radiographs todetermine a calibration object projection trajectory. In someembodiments, the computer-implemented method can determine the positionof each calibration object projection in radiographs other than thefirst radiograph based on its position in one or two of its previousradiographs. In the case where a position of the first calibrationobject projection is known in only one previous radiograph, thecomputer-implemented method can determine a current radiograph positionas the same as the previous radiograph position. For example, in thecase of determining a calibration object projection's position in thesecond projection, the computer-implemented method can determine theapproximate second radiograph position to be the same as the firstradiograph position of the calibration object projection. If theposition of the calibration object projection is known in the two priorradiographs p-i (position of the calibration object projection in theprevious radiograph) and p-2, (position of the calibration object in theradiograph before the previous radiograph), then thecomputer-implemented method can determine 2_(p-1−p-2) as a startingapproximation of the calibration object projection position in thecurrent projection. In some embodiments, the computer-implemented methodcan then determine the calibration object projection's position usingthe approximation of the calibration object projection position anddetermining the current calibration object projection center and radiusby performing the steps described with respect to determining the centerand radius of the first calibration object projection. Applying thesetracking techniques can, for example, advantageously account for motionof each calibration object projection between projections.

In some embodiments, the computer-implemented method can determine aprojective transformation of each calibration object projection acrossall radiographs. A projective transformation can be used to describe ormap a relationship between points on two different planes, for example.FIG. 10(a) illustrates a view looking down an axis of rotation 1001 aplane of rotation 1002 of a calibration object 1004 as it is rotated onthe rotation table. Calibration object positions 1006 and 1008 are alsoon the plane of rotation 1002. The plane of rotation 1002 establishesthe calibration object's location during scanning and is orthogonal tothe axis of rotation 1001.

FIG. 10(b) illustrates an example of a detector plane 1100, Thecomputer-implemented method can determine a projective transformationthat maps one or more points from the plane of rotation 1002 from FIG.10(a) to a point on the detector plane 1100 of FIG. 10(b). As anexample, calibration object positions 1006 and 1008 from FIG. 10(a) canmap to first and second calibration object projections 1106 and 1108,respectively on the detector plane 1100 illustrated in FIG. 10(b). Theprojective transformation can map a relationship between a physicallocation q of a calibration object in the plane of rotation and thecorresponding calibration object projection position, p, on the detectorplane, for example. In some embodiments, the relationship can beexpressed as the projective transformation (or homography):

$p = {{H(q)} = \frac{{Aq} + b}{1 + {c^{T}q}}}$

where A is a 2×2 matrix and b, c are 2×1 vectors. In some embodiments,the matrix A can reflect changes in rotation and scale of the q plane.Vector b can represent a translational offset, which can be a projectedcenter of circle trajectory 1102, for example, as shown in FIG. 10(b).In some embodiments, the computer-implemented method can choose acoordinate system in the plane of rotation of the calibration object tohave q^(T)=(cos ϕ, sin ϕ), where ϕ is the degree of table rotation, orrotational degree 214 as illustrated in FIG. 4(a). The degree of tablerotation is known for each radiograph and is relative to the firstradiograph. In some embodiments, the computer-implemented method candetermine the calibration object projection position p from the trackingstep described previously.

In some embodiments, the computer-implemented method can determine thebest projective transformation for each calibration object. For example,given a number of pairs (p_(i), q_(i)) the computer-implemented methodcan determine the best A, b, c by solving linear overdetermined system:

(1+c ^(T) q _(i))p _(i) =Aq _(i) +b

On the first iteration the weight of each equation in the system canbe 1. On the successive iterations. the computer-implemented method candetermine the weight as:

$\frac{1}{1 + {c^{T}q_{i}}}$

with the value of c from the previous iteration. In some embodiments,the computer-implemented method can utilize another method of estimatingA, b, and c as described in Efficiently Estimating ProjectiveTransformations, Richard Radke, Peter Ramadge Department of ElectricalEngineering, Princeton University, and Tomio Echigo, IBM Research, TokyoResearch Laboratory, Jun. 27, 2001, which is hereby incorporated byreference in its entirety.

In some embodiments, the computer-implemented method can determine oneor more calibration parameters from the projective transformation ofeach calibration object across all radiographs. For example, in someembodiments, the computer-implemented method can determine projectedrotation axis parameters. In some embodiments, the computer-implementedmethod can determine the projected rotation axis parameters beforedetermining any other calibration parameters. For example, a projectivetransformation of a rotation plane center of circle trajectory q^(T)=(0,0) 1001 in FIG. 10(a) of each calibration object projection can bemapped as a projected center of circle trajectory b 1102 in FIG. 10(b)on the detector, and u₀ and α can be determined as linear regressioncoefficients of the form:

b _(x,i) =u ₀ +tb _(y,i)   t=tan (α)

The overdetermined system (if the number of calibration objectprojections is more than 2) can be solved by the computer-implementedmethod using the least-squares method known in the art to determine u₀and the inclination angle a. As illustrated in FIG. 11, a firstcalibration object projection trajectory 1101 is established by a firstcalibration object projection 1103 and a second calibration objectprojection trajectory 1105 is established by a second calibration objectprojection 1107. The rotation axis projection 1102 passes throughprojections of trajectory centers such as first projected center ofcircle trajectory 1104 and second projected center of circle trajectory1106. The computer-implemented method can determine the projectedrotation axis from all of the center of circle trajectories of thecalibration object projections.

In some embodiments, the computer-implemented method can determinetrajectory parameters from the projective transformation. For example,the computer-implemented method can construct inverse projectivetransformations H⁻¹ (mapping from a detector plane to the plane ofrotation of the calibration object) of each calibration object in someembodiments. For example, the computer-implemented method can determinethe inverse projective transformation for each calibration objectprojection. The inverse projective transformation can be found as:

${H^{- 1}(p)} = \frac{{\left( {1 - {c^{T}A^{- 1}b}} \right)\left( {A - {bc}^{T}} \right)^{- 1}p} - {A^{- 1}b}}{1 - {\left( {1 - {c^{T}A^{- 1}b}} \right){c^{T}\left( {A - {bc}^{T}} \right)}^{- 1}p}}$

In some embodiments, the computer-implemented method can determine s asfollows:

Let n be a unit direction vector of the projected axis of rotation

For each calibration object projection, let s′ =H⁻¹(b+n), s=s′/|s′|,where H⁻¹ is the inverse projective transformation, b is the projectedcenter of circle trajectory, and s is a point on the circle trajectoryof the calibration object which is sought as illustrated in FIG. 12.

The computer-implemented method can determine a geometric center of eachtrajectory projection e as follows:

e=½ (H(s)+H(−s))

where e is a geometric center of the calibration object projectiontrajectory.

If the dot product (e-b, n)<0, then let s:=−s. −s is the point on thecircle opposite to s. One of them is the closest and the other—thefarthest from the detector. Which one is which depends on the sign ofthe dot product (e−b, n). For example, if (e−b,n)>0 then computed s isthe most distant point on the circle from the detector. If (e−b,n)<0then computed s is the closest point to the detector, and thecomputer-implemented method changes s=−s to again have in s the mostdistant point on the circle from the detector.

FIG. 10(b) illustrates a calibration object projection trajectory 1050,unit direction vector n 1052, projected axis of rotation 1057 projectedcenter of circle trajectory b 1102 with geometric center of trajectoryprojection e 1104. As can be seen in the figure, the projected center ofcircle trajectory b is not the same as the geometric center of thetrajectory projection e 1104.

The computer-implemented method can determine for each calibrationobject two of its calibration object projections: its closest position,H(s), and farthest position, H(−s) from the detector. In someembodiments, the computer-implemented method can determine the closestposition and farthest position after determining the projected center ofcircle trajectory b-point and the rotation axis with the directionalvector n and projective transformation H as follows:

FIG. 12 illustrates determining the closest point −s 1202 on the planeof rotation 1203 to the detector 1212 and furthest point S 1204 to thedetector 1212. Closest point −s 1202 can be determined from calibrationobject projection 1208 (H(−s)) and furthest points 1204 can bedetermined from calibration object projection 1206 (H(s)). Also shown inx-ray source 1222.

The computer-implemented method can determine for each calibrationobject two of its calibration object projections corresponding to twopositions of the calibration object equidistant from the detector H(l)and H(−l) .H(s) is a calibration object projection corresponding to mostdistant position of the calibration object from the detector. H(−s) is acalibration object projection corresponding to closest position of thecalibration object to the detector,

$\phi = {\pi + {\tan^{- 1}\frac{s_{y}}{s_{x}}}}$

is the angle of the rotation table where the calibration object reachesits closest position to the detector. The computer-implemented methodcan set l^(T)=(s_(y), −s_(x)) so that H(l) and H(−l) are two projectionsof the calibration object corresponding to two positions of thecalibration object equidistant from the detector.

In some embodiments, the computer-implemented method can construct asystem of linear equations to determine vertical shift andsource-to-detector distance: D and v₀

For example, in some embodiments, the computer-implemented method candetermine the vertical shift vo and source distance D as follows: Forthe calibration #i , it can be satisfied

$\left( {e_{i},n} \right) = {{n_{y}v_{0}} - {n_{x}u_{0}} + {D\frac{{{H_{i}\left( s_{i} \right)} - {H_{i}\left( {- s_{i}} \right)}}}{{{H_{i}\left( l_{i} \right)} - {H_{i}\left( {- l_{i}} \right)}}}}}$

The computer-implemented method can determine parameters D and v₀ usingleast-squares method from the equations for all calibration objects insome embodiments, for example. At least 2 calibration objects arerequired to find them. For example, given a distance m between a pair ofcalibration objects (e.g. calibration object #0 and calibration object#1) in real world, find the source-to-axis distance d by the formula:

$d = \frac{Dm}{\sqrt{k_{0} + k_{1} + k_{2} - k_{3}}}$

Where

k ₀=(b ₁ −b ₀)²,

k ₁=¼(H ₀)(i ₀)−H ₀(−l₀))²,

k ₂=¼(H ₁(l ₁)−H ₁(−l ₁))²,

k ₃=2k ₁ k ₂ cos (ϕ₀−ϕ₁)

The variables b, c, e, n, l, s, p, q as used in formulas in thisdisclosure are vectors, for example.

Once the calibration parameters are determined, the computer-implementedmethod can output the parameters to an algorithm that performs CTreconstruction of the projected images. In some embodiments, thecalibration parameters can be output along with the projected images tothe CT reconstruction algorithm.

In some embodiments, the calibration parameters can be determined asnecessary. For example, in some cases, the CT scanner may requirecalibration only after change in the position of the rotating stage. Insome cases, the CT scanner may require calibration once a week, or otherperiod.

In some embodiments, it may be desirable to use a minimum number ofradiographs as few as possible to accelerate calibration, for example,40 radiographs. In some embodiments, the computer-implemented method candetermine the one or more CT scanner calibration parameters byconsidering all of the radiographs. In some embodiments, thecomputer-implemented method can advantageously determine the one or moreCT scanner calibration parameters even if every calibration object doesnot appear as a calibration object projection in every radiograph. Insome embodiments, the computer-implemented method can advantageouslydetermine the location of each calibration object even if mounted on acylinder with thick walls.

In some embodiments, the computer-implemented method can perform one ormore of the steps and/or features disclosed herein on unreconstructedradiographs, prior to CT reconstruction of one or more radiographs, forexample.

In some embodiments, the computer-implemented method can determine arotation direction of the calibration object in the rotation plane fromthe plurality of radiographs. The CT scanning system. For example, insome embodiments,

1. The computer-implemented method determines S, the point on therotation circle most distant from the detector for each calibrationobject as described previously.

2. The computer-implemented method can determine two sequentialprojection images of the calibration object projection at the rotationangle close to S.

3. The computer-implemented method can determine a calibration objectprojection movement from the radiograph K to radiograph K+1. Forexample, the computer-implemented method can determine (calibrationobject projection center in radiograph K+1) minus (computer-objectprojection center in radiograph number K). The calibration objectprojection movement close to S is the largest of all other movements ofthe same calibration object projection in other consecutive radiographs.

4. The computer-implemented method can determine a sum of thecalibration object projection movements of all calibration objectprojections from step 3.5. If the summed movement has horizontalcomponent from left to right, then the scanner rotates the object incounter-clockwise direction. If the summed movement has horizontalcomponent from right to left, then the scanner rotates the object inclockwise direction.

In some embodiments, the computer-implemented method can provide therotation direction to the reconstruction algorithm. The reconstructionalgorithm can use the rotation direction during its tomographicreconstruction of the radiographs. One or more advantages of determiningthe rotation direction from the radiographs is the process can beautomated and reduces errors.

One or more advantages of one or more features can include, for example,improved precision and accuracy. One or more features disclosed hereincan, for example process more than 4 radiographs, which can improve theprecision and accuracy of the CT calibration calculations, for example.One or more features disclosed herein, can, for example, processradiographs with calibration object projections in multiplelocations/positions, which can provide flexibility with respect tocalibration object locations and arrangements. One advantage of one ormore features disclosed herein can include, for example, determining CTcalibration parameters even if a calibration object projection does notappear in all radiographs. One advantage of one or more featuresdisclosed herein can include, for example, determining CT calibrationparameters even if a calibration object projection appears in only a fewradiographs, and even if no radiographs include extreme calibrationobject projection positions relative to the detector. One advantage ofone or more features disclosed herein can include, for example,determining CT calibration parameters even with inexact position ofcalibration objects in some radiographs. One advantage of one or morefeatures disclosed herein can include, for example, determining CTcalibration parameters of a cone-beam CT scanner, which can require morecomplex 3D computations than fan-beam CT scanners, which can require 2Dcomputations. One advantage of one or more features disclosed herein caninclude, for example, determining CT calibration parameters withoutrelying on iterative and/or brute force search of a list of candidates,thereby improving speed. Iterative searches may not guarantee the amountof time necessary to find the solution, or that one will be found atall. One advantage of one or more features disclosed herein can include,for example, determining CT calibration parameters after a finite numberof operations.

Some embodiments include a method of determining CT calibrationsettings. As illustrated in FIG. 13 the method can include receiving aplurality of radiographs from a CT scanner, each of the plurality ofradiographs comprising a plurality of calibration object projections at1352; and determining one or more CT scanner calibration parameters froma plurality of calibration object projections in the plurality ofradiographs at 1354.

The computer-implemented method can include one or more featuresdescribed in the present disclosure.

The computer-implemented method can include several optional features.For example, the calibration objects can include a plurality ofspherical objects arranged in a calibration object holder. The CTscanner can be a cone beam scanner. The one or more CT scannercalibration parameters from the projective transformation comprise oneor more from the group consisting of a projected horizontal axis shift,a projected rotational axis inclination angle, a vertical shift,detector distance, and axis of rotation distance. Determining one ormore CT scanner calibration parameters can include determining a firstprojection position of each of the plurality of calibration objects in afirst projection of the plurality of radiographs. Determining the firstprojection position can include determining a histogram of pixel valuesin the first projection. The computer-implemented method canadditionally further include tracking the plurality of calibrationobjects in the plurality of radiographs. The one or more CT scannercalibration parameters can include one or more trajectory parameters ofeach calibration object from the projective transformation. Thecomputer-implemented method can further include pre-processing theplurality of radiographs. The computer-implemented method can furtherinclude determining a rotation direction from the plurality ofradiographs.

Some embodiments can include a non-transitory computer readable mediumstoring executable computer program instructions to determine CTcalibration settings, the computer program instructions includinginstructions for: receiving a plurality of radiographs from a CTscanner, each of the plurality of radiographs comprising a plurality ofcalibration object projections; and determining one or more CT scannercalibration parameters from a plurality of calibration objectprojections in the plurality of radiographs.

The non-transitory computer readable medium storing executable computerprogram instructions to determine CT calibration settings can includeone or more features described in the present disclosure.

Some embodiments can include a system for determining CT calibrationsettings, including: a processor; a computer-readable storage mediumcomprising instructions executable by the processor to perform stepscomprising: receiving a plurality of radiographs from a CT scanner, eachof the plurality of radiographs comprising a plurality of calibrationobject projections; and determining one or more CT scanner calibrationparameters from a plurality of calibration object projections in theplurality of radiographs.

The system can implement one or more features/methods described in thepresent disclosure.

The system can implement optional features. The system can includeseveral optional features. For example, the calibration objects caninclude a plurality of spherical objects arranged in a calibrationobject holder. The CT scanner can be a cone beam scanner. The one ormore CT scanner calibration parameters from the projectivetransformation comprise one or more from the group consisting of aprojected horizontal axis shift, a projected rotational axis inclinationangle, a vertical shift, detector distance, and axis of rotationdistance. Determining one or more CT scanner calibration parameters caninclude determining a first projection position of each of the pluralityof calibration objects in a first projection of the plurality ofradiographs. Determining the first projection position can includedetermining a histogram of pixel values in the first projection. Thesystem can additionally further include tracking the plurality ofcalibration objects in the plurality of radiographs. The one or more CTscanner calibration parameters can include one or more trajectoryparameters of each calibration object from the projectivetransformation. The system can further include pre-processing theplurality of radiographs. The system can further include determining arotation direction from the plurality of radiographs.

FIG. 14 illustrates a processing system 14000 in some embodiments. Thesystem 14000 can include a processor 14030, computer-readable storagemedium 14034 having instructions executable by the processor to performone or more steps described in the present disclosure. In someembodiments, the radiographs can optionally be provided by a CT scanner,for example. In some embodiments, the system 14000 can provide one ormore CT calibration parameters and optionally one or more radiographs.

One or more of the features disclosed herein can be performed and/orattained automatically, without manual or user intervention. One or moreof the features disclosed herein can be performed by acomputer-implemented method. The features—including but not limited toany methods and systems—disclosed may be implemented in computingsystems. For example, the computing environment 14042 used to performthese functions can be any of a variety of computing devices (e.g.,desktop computer, laptop computer, server computer, tablet computer,gaming system, mobile device, programmable automation controller, videocard, etc.) that can be incorporated into a computing system comprisingone or more computing devices. In some embodiments, the computing systemmay be a cloud-based computing system.

For example, a computing environment 14042 may include one or moreprocessing units 14030 and memory 14032. The processing units executecomputer-executable instructions. A processing unit 14030 can be acentral processing unit (CPU), a processor in an application-specificintegrated circuit (ASIC), or any other type of processor. In someembodiments, the one or more processing units 14030 can execute multiplecomputer-executable instructions in parallel, for example. In amulti-processing system, multiple processing units executecomputer-executable instructions to increase processing power. Forexample, a representative computing environment may include a centralprocessing unit as well as a graphics processing unit or co-processingunit. The tangible memory 14032 may be volatile memory (e.g., registers,cache, RAM), non-volatile memory (e.g., ROM, EEPROM, flash memory,etc.), or some combination of the two, accessible by the processingunit(s). The memory stores software implementing one or more innovationsdescribed herein, in the form of computer-executable instructionssuitable for execution by the processing unit(s).

A computing system may have additional features. For example, in someembodiments, the computing environment includes storage 14034, one ormore input devices 14036, one or more output devices 14038, and one ormore communication connections 14037. An interconnection mechanism suchas a bus, controller, or network, interconnects the components of thecomputing environment. Typically, operating system software provides anoperating environment for other software executing in the computingenvironment, and coordinates activities of the components of thecomputing environment.

The tangible storage 14034 may be removable or non-removable, andincludes magnetic or optical media such as magnetic disks, magnetictapes or cassettes, CD-ROMs, DVDs, or any other medium that can be usedto store information in a non-transitory way and can be accessed withinthe computing environment. The storage 14034 stores instructions for thesoftware implementing one or more innovations described herein.

The input device(s) may be, for example: a touch input device, such as akeyboard, mouse, pen, or trackball; a voice input device; a scanningdevice; any of various sensors; another device that provides input tothe computing environment; or combinations thereof. For video encoding,the input device(s) may be a camera, video card, TV tuner card, orsimilar device that accepts video input in analog or digital form, or aCD-ROM or CD-RW that reads video samples into the computing environment.The output device(s) may be a display, printer, speaker, CD-writer, oranother device that provides output from the computing environment.

The communication connection(s) enable communication over acommunication medium to another computing entity. The communicationmedium conveys information, such as computer-executable instructions,audio or video input or output, or other data in a modulated datasignal. A modulated data signal is a signal that has one or more of itscharacteristics set or changed in such a manner as to encode informationin the signal. By way of example, and not limitation, communicationmedia can use an electrical, optical, RF, or other carrier.

Any of the disclosed methods can be implemented as computer-executableinstructions stored on one or more computer-readable storage media 14034(e.g., one or more optical media discs, volatile memory components (suchas DRAM or SRAM), or nonvolatile memory components (such as flash memoryor hard drives)) and executed on a computer (e.g., any commerciallyavailable computer, including smart phones, other mobile devices thatinclude computing hardware, or programmable automation controllers)(e.g., the computer-executable instructions cause one or more processorsof a computer system to perform the method). The term computer-readablestorage media does not include communication connections, such assignals and carrier waves. Any of the computer-executable instructionsfor implementing the disclosed techniques as well as any data createdand used during implementation of the disclosed embodiments can bestored on one or more computer-readable storage media 14034. Thecomputer-executable instructions can be part of, for example, adedicated software application or a software application that isaccessed or downloaded via a web browser or other software application(such as a remote computing application). Such software can be executed,for example, on a single local computer (e.g., any suitable commerciallyavailable computer) or in a network environment (e.g., via the Internet,a wide-area network, a local-area network, a client-server network (suchas a cloud computing network), or other such network) using one or morenetwork computers.

For clarity, only certain selected aspects of the software-basedimplementations are described. Other details that are well known in theart are omitted. For example, it should be understood that the disclosedtechnology is not limited to any specific computer language or program.For instance, the disclosed technology can be implemented by softwarewritten in C++, Java, Perl, Python, JavaScript, Adobe Flash, or anyother suitable programming language. Likewise, the disclosed technologyis not limited to any particular computer or type of hardware. Certaindetails of suitable computers and hardware are well known and need notbe set forth in detail in this disclosure.

It should also be well understood that any functionality describedherein can be performed, at least in part, by one or more hardware logiccomponents, instead of software. For example, and without limitation,illustrative types of hardware logic components that can be used includeField-programmable Gate Arrays (FPGAs), Program-specific IntegratedCircuits (ASICs), Program-specific Standard Products (ASSPs),System-on-a-chip systems (SOCs), Complex Programmable Logic Devices(CPLDs), etc.

Furthermore, any of the software-based embodiments (comprising, forexample, computer-executable instructions for causing a computer toperform any of the disclosed methods) can be uploaded, downloaded, orremotely accessed through a suitable communication means. Such suitablecommunication means include, for example, the Internet, the World WideWeb, an intranet, software applications, cable (including fiber opticcable), magnetic communications, electromagnetic communications(including RF, microwave, and infrared communications), electroniccommunications, or other such communication means.

In view of the many possible embodiments to which the principles of thedisclosure may be applied, it should be recognized that the illustratedembodiments are only examples and should not be taken as limiting thescope of the disclosure.

What is claimed is:
 1. A method of determining CT calibration settings,the method comprising: receiving a plurality of radiographs from a CTscanner, each of the plurality of radiographs comprising a plurality ofcalibration object projections; and determining one or more CT scannercalibration parameters from a plurality of calibration objectprojections in the plurality of radiographs.
 2. The method of claim 1,wherein the calibration object projections are projections of sphericalcalibration objects arranged in a calibration object holder.
 3. Themethod of claim 1, wherein the CT scanner is a cone beam scanner.
 4. Themethod of claim 1, wherein the one or more CT scanner calibrationparameters comprise one or more from the group consisting of a projectedhorizontal axis shift, a projected rotational axis inclination angle, avertical shift, detector distance, and axis of rotation distance.
 5. Themethod of claim 1, wherein determining one or more CT scannercalibration parameters comprises determining a first projection positionof each of the plurality of calibration objects in a first projection ofthe plurality of radiographs.
 6. The method of claim 5, whereindetermining the first projection position comprises determining ahistogram of pixel values in the first projection.
 7. The method ofclaim 1, further comprising tracking the plurality of calibrationobjects in the plurality of radiographs.
 8. The method of claim 1,further comprising determining a rotation direction from the pluralityof radiographs.
 9. The method of claim 1, further comprisingpre-processing the plurality of radiographs.
 10. A system fordetermining CT calibration settings, comprising: a processor; acomputer-readable storage medium comprising instructions executable bythe processor to perform steps comprising: receiving a plurality ofradiographs from a CT scanner, each of the plurality of radiographscomprising a plurality of calibration object projections; and rminingone or more CT scanner calibration parameters from a plurality ofcalibration object projections in the plurality of radiographs.
 11. Thesystem of claim 10, wherein the calibration object projections areprojections of spherical calibration objects arranged in a calibrationobject holder.
 12. The system of claim 10, wherein the CT scanner is acone beam scanner.
 13. The system of claim 10, wherein the one or moreCT scanner calibration parameters from the projective transformationcomprise one or more from the group consisting of a projected horizontalaxis shift, a projected rotational axis inclination angle, a verticalshift, detector distance, and axis of rotation distance.
 14. The systemof claim 10, wherein determining one or more CT scanner calibrationparameters comprises determining a first projection position of each ofthe plurality of calibration objects in a first projection of theplurality of radiographs.
 15. The system of claim 14, whereindetermining the first projection position comprises determining ahistogram of pixel values in the first projection.
 16. The system ofclaim 10, further comprising tracking the plurality of calibrationobjects in the plurality of radiographs.
 17. The system of claim 10,further comprising tracking the plurality of calibration objects in theplurality of radiographs.
 18. The system of claim 10, further comprisingdetermining a rotation direction from the plurality of radiographs. 19.The system of claim 10, further comprising pre-processing the pluralityof radiographs.
 20. A non-transitory computer readable medium storingexecutable computer program instructions to determine CT calibrationsettings, the computer program instructions comprising instructions for:receiving a plurality of radiographs from a CT scanner, each of theplurality of radiographs comprising a plurality of calibration objectprojections; and determining one or more CT scanner calibrationparameters from a plurality of calibration object projections in theplurality of radiographs.